package com.vxdata.utils.modules.excel.easypoi.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.HashMap;
import java.util.Map;

@Data
public class ActivityQueryVo {

    @ApiModelProperty("活动ID")
    private Integer Id;

    @ApiModelProperty("内外导出区分：true内部，false表示外部")
    private Boolean flag;

    @ApiModelProperty("审核标记(0-未审核，1-通过，2-未通过)")
    private String verify;

    @ApiModelProperty("部门")
    private Long deptId;

    @ApiModelProperty("场馆类别(0-公共图书馆, 1-文化馆, 2-文化站, 3-艺术表演场馆, 4-博物馆, 5-美术馆, 6-综合, 7-功能区)")
    private String venueCategory;

    @ApiModelProperty("线上线下(0-线上, 1-线下 )")
    private String onlineOffline;

    @ApiModelProperty("活动类型")
    private String activityType;

    @ApiModelProperty("活动名称或主题")
    private String activityName;

    @ApiModelProperty("活动地点")
    private String activityAddr;

    @ApiModelProperty("排序方式")
    private String sortMode;

    @ApiModelProperty("排序字段")
    private String sortFiled;

    /**
     * 驳回原因
     */
    @ApiModelProperty("驳回原因")
    private String rejectionReason;

    @ApiModelProperty("开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate startTime;

    @ApiModelProperty("查询结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate endTime;

    @ApiModelProperty("举办单位")
    private String organizers;

    @ApiModelProperty("当前页号")
    private Long pageNum;

    @ApiModelProperty("每页长度")
    private Long pageSize;

    /** 数据权限请求参数 */
    private Map<String, Object> params;

    public Map<String, Object> getParams()
    {
        if (params == null)
        {
            params = new HashMap<>();
        }
        return params;
    }

    public void setParams(Map<String, Object> params)
    {
        this.params = params;
    }
}
